﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace Platform.Model
{

    /// <summary>
    /// Lớp biểu diễn thông tin hiển thị cho PickingList
    /// </summary>
    public class ViewPickingList:Devsoft.DB.Models.Flat.Model<ViewPickingList>
    {
        /// <summary>
        /// Mã số cân hàng
        /// </summary>
        public int Id { get; set; }
        
        /// <summary>
        /// Mã đơn hàng hằng ngày
        /// </summary>
        public int DoId { get; set; }

        /// <summary>
        /// mã kho trung chuyển
        /// </summary>
        public int WH { get; set; }

        /// <summary>
        /// mã số đơn hàng
        /// </summary>
        public string PoNo { get; set; }

        /// <summary>
        /// Mã siêu thị
        /// </summary>
        public DateTime MarketId { get; set; }

        /// <summary>
        /// Mã nhà cung cấp để phân biệt trong CSDL
        /// </summary>
        public int SupId { get; set; }

        /// <summary>
        /// mã số nhà cung cấp
        /// </summary>
        public string SupNo { get; set; }

        /// <summary>
        /// tên nhà cung cấp
        /// </summary>
        public string SupName { get; set; }

        /// <summary>
        /// Ngày đặt hàng
        /// </summary>
        public DateTime OrderDate { get; set; }

        /// <summary>
        /// Mã kho hàng
        /// </summary>
        public string StoreNo { get; set; }

        /// <summary>
        /// Tên của kho hàng
        /// </summary>
        public string StoreName { get; set; }
        
        /// <summary>
        /// Mã số đơn hàng
        /// </summary>
        public string OrderNo { get; set; }

        /// <summary>
        /// Mã mặt hàng để phân biệt trong CSDL
        /// </summary>
        public int ArtId { get; set; }

        /// <summary>
        /// Mã nông phẩm
        /// </summary>
        public string ArtNo { get; set; }

        /// <summary>
        /// Tên nông phẩm
        /// </summary>
        public string ArtName { get; set; }

        /// <summary>
        /// 
        /// Khối lượng đặt hàng
        /// </summary>
        public float OrderQty { get; set; }

        /// <summary>
        /// Trọng lượng hiển thị trên cân
        /// </summary>
        public float Gross { get; set; }

        /// <summary>
        /// Trọng lượng thực của hàng (đã trừ đi hao hụt và trọng lượng khay)
        /// </summary>
        public float Net { get; set; }

        /// <summary>
        /// Số khay đựng hàng
        /// </summary>
        public int Package { get; set; }

        /// <summary>
        /// Hao hụt tự nhiên
        /// </summary>
        public float Nloss { get; set; }

        /// <summary>
        /// Hao hụt qua sơ chế
        /// </summary>
        public float PLoss { get; set; }

     
        /// <summary>
        /// Trạng thái cân
        /// </summary>
        public bool Status { get; set; }

        /// <summary>
        /// Thời gian cập nhật cuối cùng
        /// </summary>
        public DateTime LastUpdated { get; set; }

        /// <summary>
        /// lệch hàng thiếu/đặt hàng tính theo Kg
        /// </summary>
        public float DifferKg { get { return (OrderQty - Net); } }


        /// <summary>
        /// chệnh lệch hàng thiếu/đặt hàng tính theo %
        /// </summary>
        public float DifferPc { get { return Convert.ToSingle(Math.Round((OrderQty - Net) * 100 / OrderQty, 2)); } }

        /// <summary>
        /// ngày giao hàng cho siêu thị
        /// </summary>
        public DateTime DeliDateST { get; set; }

        /// <summary>
        /// ngày chuyển hàng ở platform
        /// </summary>
        public DateTime DeliDateWH { get; set; }

    }


    
}
